package com.ll.setdemo;

/**
 * @author 刘龙
 * @version 1.0
 */
public class HashSetStructure {
    public static void main(String[] args) {
        // 模拟一个HashSet的底层(HashMap 的底层结构)
        // 1.创建一个数组,数组的类型是Node[]
        // 2.有些人, 直接把 Node[] 数组称为 表
        Node[] nodes = new Node[16];

        Node ll = new Node("ll", null);

        nodes[2] = ll;

        Node java = new Node("java", null);
        // 将java节点挂载到ll
        ll.next = java;

        Node c = new Node("c", null);
        java.next = c;

        Node lucy = new Node("lucy", null);
        nodes[3] = lucy;


        System.out.println("nodes= " + nodes);
    }
}

/**
 * 节点,存储数据,可以指向下一个节点,从而形成链表
 */
class Node {
    /**
     * 存放数据
     */
    Object item;

    /**
     * 指向下一个节点
     */
    Node next;

    public Node(Object item, Node next) {
        this.item = item;
        this.next = next;
    }
}
